package chapter8;

import java.util.PriorityQueue;

/**
 * PriorityQueue是一个队列实现，但是它并不遵循队列先进先出的原则
 * 添加进队列的元素会按照元素大小进行排序，之后一次取出也是按排序后的
 * 顺序来输出，但是直接打印队列会发现元素并不是按大小排列输出，这个只是
 * 因为重写toString方法的显示问题，同时该队列构造时，支持指定排序方式
 */
public class PriorityQueueTest {
    public static void main(String[] args) {
        PriorityQueue queue = new PriorityQueue();
        queue.offer(6);
        queue.offer(-3);
        queue.offer(20);
        queue.offer(18);
        System.out.println(queue);
        System.out.println(queue.poll());
        System.out.println(queue.poll());
        System.out.println(queue.poll());
        System.out.println(queue.poll());
    }
}
